#ifndef ADDATATYPE_H
#define ADDATATYPE_H

#include <QString>
#include <QByteArray>
#include <QMap>
#include <QJsonDocument>
#include <QJsonArray>
#include <QJsonObject>
#include <QJsonParseError>
#include <QList>
#include <QStringList>


class ADDataType
{
public:
    ADDataType();
    ADDataType(const ADDataType &A);
    ADDataType(QJsonObject &obj);
    //ADDataType(ADDataType &&A) = default;
    ~ADDataType();

    bool operator ==(const ADDataType &A);

    ADDataType& operator =(const ADDataType &A);
    //ADDataType& operator =(ADDataType &&A) = default;
    static QList<ADDataType > Deseries(const QByteArray &bytes);

    void PrintOutInfo();


public:
    bool Success;
    int media_id;
    int proj_id;

    QString m_range;
    QString m_through;
    QString media_audio_response; //响应语句
    QString media_cn; //设备名
    QString media_attr_cn; //设备属性名

    QString media_name; //设备英文名
    QString attri; //被控属性英文名
    QString pre_unit; //值变更类型
    QString value; //值
    QString value_cn; //
    QString value_type; //值属性
    QString unit; //单位

    QString floor; //楼层
    QString area; //位置

    bool name_is_sure; //设备名是否检索到
    bool is_scene; //是否由场景匹配而来
    QString sentence; //语句

};

#endif // ADDATATYPE_H
